Harmonic balance analysis (HB) is a popular method for simulating RF and microwave circuits. For circuits where the nonlinearities are moderate and the signal transitions are not very sharp, HB analysis is preferred over time-domain techniques because HB analysis gives unmatched performance and accuracy. HB analysis is particularly useful in RF and microwave applications because these applications rely heavily on measured frequency domain data such as s-parameters of linear networks. Unlike time-domain techniques, HB analysis can be used for direct simulation in the frequency domain without requiring expensive convolutions or fitting.
The drawback of traditional HB implementations is that the underlying HB Jacobian is often large and not very sparse. This makes the HB Jacobian very inefficient to factor and solve directly. Conventional HB implementations separate the linear and nonlinear portions of the circuit and formulate the problem so as to achieve balance between the harmonics of the waveforms of the two portions (hence the name harmonic balance). Since there is no coupling between harmonics in the linear portion, the linear portion can be arbitrarily large. Thus, the limitation of this approach is the size and nonlinearity of the portion containing the nonlinear elements.
One traditional approach to addressing these limitations uses Krylov subspace methods. These iterative methods do not require the HB Jacobian matrix to be explicitly formed, let alone factored. Instead Krylov subspace methods require that the matrix-vector product is formed at each iteration. Matrix-vector products with the HB Jacobian can be formed efficiently using a series of Fast Fourier Transforms (FFTs) and sparse matrix vector multiplications with circuit matrices. Iterative methods such as Krylov subspace methods tend to be increasingly useful with increasing circuit sizes. Therefore, conventional simulators restrict the use of a direct solution method to small circuits, and use Krylov methods for more complex circuits.
However, the effectiveness of Krylov subspace methods to the harmonic balance problem critically depends on selecting appropriate preconditioners. Otherwise, the number of iterations becomes prohibitively large. In addition, as the complexity and nonlinearity of circuits increases, Krylov subspace based HB engines require more advanced preconditioners and still require a large number of iterations to reliably solve the system of linear equations. In many cases, the conventional methods are unable to solve the system at all. Therefore, a robust and efficient harmonic balance solution is still needed.